<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>滚动检测示例</title>
    <style>
      * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }

      body {
        font-family: "Arial", sans-serif;
      }

      .nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        background-color: #333;
        color: white;
        padding: 20px;
        text-align: center;
        transition: transform 0.3s ease-in-out;
        z-index: 100;
      }

      .nav.hidden {
        transform: translateY(-100%);
      }

      .nav-title {
        font-size: 24px;
      }

      .content {
        padding-top: 100px;
        max-width: 800px;
        margin: 0 auto;
      }

      .section {
        padding: 50px 20px;
        margin-bottom: 30px;
        background-color: #f4f4f4;
        border-radius: 5px;
      }

      h2 {
        margin-bottom: 20px;
        color: #333;
      }

      p {
        line-height: 1.6;
        margin-bottom: 15px;
      }

      img {
        width: 100%;
        height: auto;
        margin: 20px 0;
        border-radius: 5px;
      }
    </style>
  </head>
  <body>
    <nav class="nav" id="mainNav">
      <div class="nav-title">滚动检测示例</div>
    </nav>

    <div class="content">
      <div class="section">
        <h2>滚动示例</h2>
        <p>请向下滚动页面查看导航栏效果，当滚动超过400px时导航栏会隐藏。</p>
        <img src="https://picsum.photos/800/400?random=1" alt="随机图片" />
        <p>
          这是一些示例内容，用于使页面可滚动。当你继续向下滚动时，可以观察到顶部导航栏的变化。
        </p>
      </div>

      <div class="section">
        <h2>第二部分</h2>
        <p>这里是更多的内容，让页面有足够的高度进行滚动测试。</p>
        <img src="https://picsum.photos/800/400?random=2" alt="随机图片" />
        <p>
          继续滚动页面，当你滚动超过600px时，顶部的导航栏会平滑隐藏。当你向上滚动时，导航栏会再次显示。
        </p>
      </div>

      <div class="section">
        <h2>第三部分</h2>
        <p>这是更多的内容，确保页面有足够的高度进行滚动测试。</p>
        <img src="https://picsum.photos/800/400?random=3" alt="随机图片" />
        <p>
          当页面滚动时，我们使用JavaScript监听滚动事件，并根据滚动位置决定是否显示导航栏。
        </p>
      </div>

      <div class="section">
        <h2>第四部分</h2>
        <p>这里是最后一部分内容，让页面有更多的高度以便测试滚动效果。</p>
        <img src="https://picsum.photos/800/400?random=4" alt="随机图片" />
        <p>动画效果是通过CSS过渡实现的，使导航栏的隐藏和显示更加平滑。</p>
      </div>
    </div>

    <script>
      // 获取导航栏元素
      const nav = document.getElementById("mainNav")
      let lastScrollTop = 0

      // 监听滚动事件
      window.addEventListener("scroll", function () {
        const currentScrollTop = window.pageYOffset || document.documentElement.scrollTop

        // 如果滚动超过600px，隐藏导航栏
        if (currentScrollTop > 400) {
          nav.classList.add("hidden")
        } else {
          nav.classList.remove("hidden")
        }

        lastScrollTop = currentScrollTop
      })
    </script>
  </body>
</html>
